import { routeToLoginAndConfigAfterPagePath } from "./index";
import { useUserStore } from "@/stores";

/**
 * 该项目的 hi-router 配置
 *
 * @author 济南晨霜信息技术有限公司
 * @mobile 18560000860 / 18754137913
 */
export default {
    /**
     * 前置路由拦截器函数
     * @param {Object} target 目标页面路由数据
     * @param {Object} params 调用路由跳转方法时传递的参数对象
     * @param {Object} current 当前页面数据路由数据
     * @returns {Boolean} true: 继续执行跳转，false: 终止跳转
     */
    before: function (target, params, current) {
        if (target?.needLogin && !useUserStore().loginStatus) {
            // 跳转到登录页面
            routeToLoginAndConfigAfterPagePath();

            // 并终止跳转到目标页面
            return false;
        }

        // 目标页面不需要登录就能进入，或者当前用户已登录
        return true;
    },

    /**
     * 后置路由拦截器函数
     * @param {Object} current 当前页面数据路由数据
     * @returns
     */
    after: function (current) {
        // 注意：因为这里的 after 实际是通过监听页面的 onShow() 函数实现的，所以这里一定不要进行刷新页面等操作，否则会陷入死循环
        // 跳转后的逻辑
        // ...
    }
};
